package com.gdust.hzx.manager.service.impl;

import com.gdust.spzx.common.log.service.AsyncOperLogService;
import com.gdust.hzx.model.entity.system.SysOperLog;
import com.gdust.hzx.manager.mapper.SysOperLogMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;

/**
 * ClassName: AsyncOperLogServiceImpl
 * Package: com.gdust.spzx.manager.service.impl
 * Description:
 *
 * @Author syun
 * @Create 2024/12/25 15:22
 * @Version 1.0
 */
@Service
public class AsyncOperLogServiceImpl implements AsyncOperLogService {
    //注入操作日志记录表的mapper
    @Autowired
    private SysOperLogMapper sysOperLogMapper;

    /**
     * 异步保存系统操作日志的方法。
     * 该方法将操作日志数据插入到数据库中，使用 @Async 注解来异步执行，
     * 从而不阻塞调用线程，提高系统性能和响应速度。
     *
     * @param sysOperLog 系统操作日志对象，包含需要保存的日志信息
     */
    @Async // 标记该方法为异步执行的方法
    @Override
    public void saveSysOperLog(SysOperLog sysOperLog) {
        //自定义查询：保存日志记录
        sysOperLogMapper.insert(sysOperLog);
    }
}
